Data processing techniques for analytical purposes are, contrary to data processing for transaction purposes, optimized with respect to providing a user with processors and presentation tools that can generate illustrations of the result of a specified analysis task.
Not only the data processing techniques, but also the data on which the analysis is to be based are often arranged with the special aim of supporting analysis purposes. This means that data are organised in a straight forward or flat organisation. This straight forward organisation of the data requires, however, a higher memory consumption and longer access time to the data when compared to organisation of data for transaction purposes. Typically, databases for analytical purposes comprise redundant data in that pre-computed aggregations of data are comprised in the database along with underlying data, ie data across which the aggregation(s) is/are performed. Thus, one can say that such a database represents data at different levels of granularity.
A well recognised organisation of data for analysis purposes comprises multidimensional databases e.g. so-called cube databases, or simply Cubes, for OLAP, OnLine Analytical Processing, databases. However, various types of databases and other types of data structures can be used for analytical processing, including relational databases, flat file databases, XML (Extensible Markup Language) databases, etc. In these databases elements of data can be denoted data items and can be defined as a field in a specific record, a cell in a table or spreadsheet, or a delimiter or tag separated or fixed-length data entity.
Despite their different structures each of the data items in the databases can be categorized as being so-called measures or dimensions. From a data representation point of view there are prima facia no differences, but from a user's point of view, a data item of the measures type can be interpreted as a measure value given a specific condition specified by an associated value of a data item of the dimensions type. A value of a data item of the dimensions type is also recognised as a so-called dimension value or a criterion.
Hence, for instance a range of data items categorized as measures can represent sales figures in an organisation. These sales figures are given a meaning when associated with the specific conditions of the time instances at which the sales figures represent the sales in the organisation. The time instances are represented by means of the dimension values. By categorizing the data items in this way an additional and more abstract way of representing data is provided; this additional representation is also denoted metadata. In the above example, time is thus a dimension and the sales figures are categorized as a measure.
The data processing techniques for analytical purposes operate on these data whatever the organisation of the data to provide a result of the analysis. For this purpose, an analysis task can be specified by a request to a database. The result of the analysis is then illustrated by means of a data report. The data report can be set up by a user who selects presentation objects and properties thereof by of a so-called ‘report generator’ or a ‘chart wizard’, wherefrom default layout properties or user-specified layout properties are selected before making the presentation. Especially, when the data report is presented on a graphical user interface it is also referred to as ‘a view’.
In connection therewith it is a well-known situation that a user often uses some sort of trial-and-error for tuning, on the one hand, the specification of the analysis task and, on the other hand, the illustration of the result of the analysis. Therefore, a further specification of the analysis task and the illustration of the results are functions which more or less have merged into the same user interface for more or less simultaneous tuning of an analysis and the results thereof.
The graphical/visual presentation of data is greatly influenced by the type of graphical/visual objects applied to make the presentation and layout properties of the graphical/visual objects. In the process of performing an analysis a comparative study is often desired either to compare different scenarios or to compare different views of the same situation. Moreover, it is desired to collect results of individual steps of the analysis in order to provide documentation of the analysis and since such partial results are considered a portion of an analysis. Therefore, typically, several largely similar data reports (or views) are requested. During a process of performing an analysis, often, either the form of the dataset(s) is changed or the form of the presentation is changed. Thereby, either the data or the presentation is changed while maintaining the presentation or data, respectively. Thereby, the (difference) result of the comparative analysis is made clear.
It is observed that steps or partial results of the analysis process are valued as a documentation of the final result.
The ever increasing data capacity of storage memories and the widespread use of databases increase the amount of time a user is confronted with the task of, on the one hand, making queries to databases; and on the other hand, selecting a presentation for the data retrieved by the query.
The above collectively states that (human) resources are spent on building up information which stage-by-stage documents an analysis process. This build-up information is often bound to special syntaxes and to closed proprietary formats.
Prior Art
Within the field of so-called business intelligence applications cooperating with databases it is well known provide a graphical user interface wherefrom fields of tables in a database are selectable and criteria can be entered. From a set of selected fields and entered criteria a formal query to the database is automatically generated.
However, in connection with such a business intelligence application, it is a well-known situation that a user during an analysis process has to repeat the steps of selecting fields and enter criteria before a satisfactory analysis result is obtained. Since often a more compound result (or further results) is needed to enlighten a situation from different viewing angles, steps of further analysis processes are performed largely corresponding to steps of previous analysis. Thereby, time is spent on redundant work.
Often a user uses some sort of trial-and-error for tuning, on the one hand, the specification of the analysis task and, on the other hand, the illustration of the result of the analysis. Every step of such an analysis process can provide emphasis on important aspects of the dataset. Thus, even intermediate results can provide important information.